import request from '@/utils/request'

/**
 * 教育管理API服务
 */

// ==================== 班级管理 ====================

/**
 * 分页查询班级
 * @param {Object} params 查询参数
 * @returns {Promise} 返回班级分页数据
 */
export const getClassPage = (params) => {
  return request({
    url: '/api/edu/class/getClassPage',
    method: 'post',
    data: params
  })
}

/**
 * 获取班级列表
 * @returns {Promise} 返回班级列表
 */
export const getClassList = () => {
  return request({
    url: '/api/edu/class/getClassList',
    method: 'post'
  })
}

/**
 * 创建班级
 * @param {Object} classData 班级数据
 * @returns {Promise} 返回操作结果
 */
export const createClass = (classData) => {
  return request({
    url: '/api/edu/class/createClass',
    method: 'post',
    data: classData
  })
}

/**
 * 根据ID获取班级详情
 * @param {number} id 班级ID
 * @returns {Promise} 返回班级详情
 */
export const getClassById = (id) => {
  return request({
    url: '/api/edu/class/getClassById/' + id,
    method: 'post'
  })
}

/**
 * 更新班级信息
 * @param {Object} classData 班级数据
 * @returns {Promise} 返回操作结果
 */
export const updateClass = (classData) => {
  return request({
    url: '/api/edu/class/updateClass',
    method: 'post',
    data: classData
  })
}

/**
 * 删除指定班级
 * @param {number} id 班级ID
 * @returns {Promise} 返回操作结果
 */
export const deleteClass = (id) => {
  return request({
    url: '/api/edu/class/deleteClass/' + id,
    method: 'post'
  })
}

// ==================== 章节管理 ====================

/**
 * 分页查询章节
 * @param {Object} params 查询参数
 * @returns {Promise} 返回章节分页数据
 */
export const getChapterPage = (params) => {
  return request({
    url: '/api/edu/chapter/getChapterPage',
    method: 'post',
    data: params
  })
}

/**
 * 创建章节
 * @param {Object} chapterData 章节数据
 * @returns {Promise} 返回操作结果
 */
export const createChapter = (chapterData) => {
  return request({
    url: '/api/edu/chapter/createChapter',
    method: 'post',
    data: chapterData
  })
}

/**
 * 根据ID获取章节详情
 * @param {number} id 章节ID
 * @returns {Promise} 返回章节详情
 */
export const getChapterById = (id) => {
  return request({
    url: '/api/edu/chapter/getChapterById/' + id,
    method: 'post'
  })
}

/**
 * 更新章节信息
 * @param {Object} chapterData 章节数据
 * @returns {Promise} 返回操作结果
 */
export const updateChapter = (chapterData) => {
  return request({
    url: '/api/edu/chapter/updateChapter',
    method: 'post',
    data: chapterData
  })
}

/**
 * 删除指定章节
 * @param {number} id 章节ID
 * @returns {Promise} 返回操作结果
 */
export const deleteChapter = (id) => {
  return request({
    url: '/api/edu/chapter/deleteChapter/' + id,
    method: 'post'
  })
}

/**
 * 根据课程ID获取章节列表
 * @param {number} courseId 课程ID
 * @returns {Promise} 返回章节列表
 */
export const getChaptersByCourseId = (courseId) => {
  return request({
    url: '/api/edu/chapter/getChaptersByCourseId/' + courseId,
    method: 'post'
  })
}

// ==================== 院系管理 ====================

/**
 * 分页查询院系
 * @param {Object} params 查询参数
 * @returns {Promise} 返回院系分页数据
 */
export const getDepartmentPage = (params) => {
  return request({
    url: '/api/edu/department/getDepartmentPage',
    method: 'post',
    data: params
  })
}

/**
 * 获取院系列表
 * @returns {Promise} 返回院系列表
 */
export const getDepartmentList = () => {
  return request({
    url: '/api/edu/department/getDepartmentList',
    method: 'post'
  })
}

/**
 * 创建院系
 * @param {Object} departmentData 院系数据
 * @returns {Promise} 返回操作结果
 */
export const createDepartment = (departmentData) => {
  return request({
    url: '/api/edu/department/createDepartment',
    method: 'post',
    data: departmentData
  })
}

/**
 * 根据ID获取院系详情
 * @param {number} id 院系ID
 * @returns {Promise} 返回院系详情
 */
export const getDepartmentById = (id) => {
  return request({
    url: '/api/edu/department/getDepartmentById/' + id,
    method: 'post'
  })
}

/**
 * 更新院系信息
 * @param {Object} departmentData 院系数据
 * @returns {Promise} 返回操作结果
 */
export const updateDepartment = (departmentData) => {
  return request({
    url: '/api/edu/department/updateDepartment',
    method: 'post',
    data: departmentData
  })
}

/**
 * 删除指定院系
 * @param {number} id 院系ID
 * @returns {Promise} 返回操作结果
 */
export const deleteDepartment = (id) => {
  return request({
    url: '/api/edu/department/deleteDepartment/' + id,
    method: 'post'
  })
}

// ==================== 专业管理 ====================

/**
 * 分页查询专业
 * @param {Object} params 查询参数
 * @returns {Promise} 返回专业分页数据
 */
export const getMajorPage = (params) => {
  return request({
    url: '/api/edu/major/getMajorPage',
    method: 'post',
    data: params
  })
}

/**
 * 获取专业列表
 * @returns {Promise} 返回专业列表
 */
export const getMajorList = () => {
  return request({
    url: '/api/edu/major/getMajorList',
    method: 'post'
  })
}

/**
 * 创建专业
 * @param {Object} majorData 专业数据
 * @returns {Promise} 返回操作结果
 */
export const createMajor = (majorData) => {
  return request({
    url: '/api/edu/major/createMajor',
    method: 'post',
    data: majorData
  })
}

/**
 * 根据ID获取专业详情
 * @param {number} id 专业ID
 * @returns {Promise} 返回专业详情
 */
export const getMajorById = (id) => {
  return request({
    url: '/api/edu/major/getMajorById/' + id,
    method: 'post'
  })
}

/**
 * 更新专业信息
 * @param {Object} majorData 专业数据
 * @returns {Promise} 返回操作结果
 */
export const updateMajor = (majorData) => {
  return request({
    url: '/api/edu/major/updateMajor',
    method: 'post',
    data: majorData
  })
}

/**
 * 删除指定专业
 * @param {number} id 专业ID
 * @returns {Promise} 返回操作结果
 */
export const deleteMajor = (id) => {
  return request({
    url: '/api/edu/major/deleteMajor/' + id,
    method: 'post'
  })
}

// ==================== 学校管理 ====================

/**
 * 分页查询学校
 * @param {Object} params 查询参数
 * @returns {Promise} 返回学校分页数据
 */
export const getSchoolPage = (params) => {
  return request({
    url: '/api/edu/school/getSchoolPage',
    method: 'post',
    data: params
  })
}

/**
 * 获取学校列表
 * @returns {Promise} 返回学校列表
 */
export const getSchoolList = () => {
  return request({
    url: '/api/edu/school/getSchoolList',
    method: 'post'
  })
}

/**
 * 创建学校
 * @param {Object} schoolData 学校数据
 * @returns {Promise} 返回操作结果
 */
export const createSchool = (schoolData) => {
  return request({
    url: '/api/edu/school/createSchool',
    method: 'post',
    data: schoolData
  })
}

/**
 * 根据ID获取学校详情
 * @param {number} id 学校ID
 * @returns {Promise} 返回学校详情
 */
export const getSchoolById = (id) => {
  return request({
    url: '/api/edu/school/getSchoolById/' + id,
    method: 'post'
  })
}

/**
 * 更新学校信息
 * @param {Object} schoolData 学校数据
 * @returns {Promise} 返回操作结果
 */
export const updateSchool = (schoolData) => {
  return request({
    url: '/api/edu/school/updateSchool',
    method: 'post',
    data: schoolData
  })
}

/**
 * 删除指定学校
 * @param {number} id 学校ID
 * @returns {Promise} 返回操作结果
 */
export const deleteSchool = (id) => {
  return request({
    url: '/api/edu/school/deleteSchool/' + id,
    method: 'post'
  })
}

// ==================== 学生管理 ====================

/**
 * 分页查询学生
 * @param {Object} params 查询参数
 * @returns {Promise} 返回学生分页数据
 */
export const getStudentPage = (params) => {
  return request({
    url: '/api/edu/student/getStudentPage',
    method: 'post',
    data: params
  })
}

/**
 * 获取学生列表
 * @returns {Promise} 返回学生列表
 */
export const getStudentList = () => {
  return request({
    url: '/api/edu/student/getStudentList',
    method: 'post'
  })
}

/**
 * 创建学生
 * @param {Object} studentData 学生数据
 * @returns {Promise} 返回操作结果
 */
export const createStudent = (studentData) => {
  return request({
    url: '/api/edu/student/createStudent',
    method: 'post',
    data: studentData
  })
}

/**
 * 根据ID获取学生详情
 * @param {number} id 学生ID
 * @returns {Promise} 返回学生详情
 */
export const getStudentById = (id) => {
  return request({
    url: '/api/edu/student/getStudentById/' + id,
    method: 'post'
  })
}

/**
 * 更新学生信息
 * @param {Object} studentData 学生数据
 * @returns {Promise} 返回操作结果
 */
export const updateStudent = (studentData) => {
  return request({
    url: '/api/edu/student/updateStudent',
    method: 'post',
    data: studentData
  })
}

/**
 * 删除指定学生
 * @param {number} id 学生ID
 * @returns {Promise} 返回操作结果
 */
export const deleteStudent = (id) => {
  return request({
    url: '/api/edu/student/deleteStudent/' + id,
    method: 'post'
  })
}

// ==================== 教师管理 ====================

/**
 * 分页查询教师
 * @param {Object} params 查询参数
 * @returns {Promise} 返回教师分页数据
 */
export const getTeacherPage = (params) => {
  return request({
    url: '/api/edu/teacher/getTeacherPage',
    method: 'post',
    data: params
  })
}

/**
 * 获取教师列表
 * @returns {Promise} 返回教师列表
 */
export const getTeacherList = () => {
  return request({
    url: '/api/edu/teacher/getTeacherList',
    method: 'post'
  })
}

/**
 * 创建教师
 * @param {Object} teacherData 教师数据
 * @returns {Promise} 返回操作结果
 */
export const createTeacher = (teacherData) => {
  return request({
    url: '/api/edu/teacher/createTeacher',
    method: 'post',
    data: teacherData
  })
}

/**
 * 根据ID获取教师详情
 * @param {number} id 教师ID
 * @returns {Promise} 返回教师详情
 */
export const getTeacherById = (id) => {
  return request({
    url: '/api/edu/teacher/getTeacherById/' + id,
    method: 'post'
  })
}

/**
 * 更新教师信息
 * @param {Object} teacherData 教师数据
 * @returns {Promise} 返回操作结果
 */
export const updateTeacher = (teacherData) => {
  return request({
    url: '/api/edu/teacher/updateTeacher',
    method: 'post',
    data: teacherData
  })
}

/**
 * 删除指定教师
 * @param {number} id 教师ID
 * @returns {Promise} 返回操作结果
 */
export const deleteTeacher = (id) => {
  return request({
    url: '/api/edu/teacher/deleteTeacher/' + id,
    method: 'post'
  })
}

/**
 * 添加班级
 * @param {Object} classData 班级数据
 * @returns {Promise} 返回操作结果
 */
export const addClass = (classData) => {
  return request({
    url: '/api/edu/class/createClass',
    method: 'post',
    data: classData
  })
}

/**
 * 添加院系
 * @param {Object} departmentData 院系数据
 * @returns {Promise} 返回操作结果
 */
export const addDepartment = (departmentData) => {
  return request({
    url: '/api/edu/department/createDepartment',
    method: 'post',
    data: departmentData
  })
}

/**
 * 添加专业
 * @param {Object} majorData 专业数据
 * @returns {Promise} 返回操作结果
 */
export const addMajor = (majorData) => {
  return request({
    url: '/api/edu/major/createMajor',
    method: 'post',
    data: majorData
  })
}

/**
 * 添加学校
 * @param {Object} schoolData 学校数据
 * @returns {Promise} 返回操作结果
 */
export const addSchool = (schoolData) => {
  return request({
    url: '/api/edu/school/createSchool',
    method: 'post',
    data: schoolData
  })
}

// ==================== 课程管理 ====================

/**
 * 分页查询课程
 * @param {Object} params 查询参数
 * @returns {Promise} 返回课程分页数据
 */
export const getCoursePage = (params) => {
  return request({
    url: '/api/edu/course/getCoursePage',
    method: 'post',
    data: params
  })
}

/**
 * 获取课程列表
 * @returns {Promise} 返回课程列表
 */
export const getCourseList = () => {
  return request({
    url: '/api/edu/course/getCourseList',
    method: 'post'
  })
}

/**
 * 创建课程
 * @param {Object} courseData 课程数据
 * @returns {Promise} 返回操作结果
 */
export const createCourse = (courseData) => {
  return request({
    url: '/api/edu/course/createCourse',
    method: 'post',
    data: courseData
  })
}

/**
 * 根据ID获取课程详情
 * @param {number} id 课程ID
 * @returns {Promise} 返回课程详情
 */
export const getCourseById = (id) => {
  return request({
    url: '/api/edu/course/getCourseById/' + id,
    method: 'post'
  })
}

/**
 * 更新课程信息
 * @param {Object} courseData 课程数据
 * @returns {Promise} 返回操作结果
 */
export const updateCourse = (courseData) => {
  return request({
    url: '/api/edu/course/updateCourse',
    method: 'post',
    data: courseData
  })
}

/**
 * 删除指定课程
 * @param {number} id 课程ID
 * @returns {Promise} 返回操作结果
 */
export const deleteCourse = (id) => {
  return request({
    url: '/api/edu/course/deleteCourse/' + id,
    method: 'post'
  })
}